package net.huashitong.ssydt.provider.exam.mapper;


import net.huashitong.ssydt.exam.entity.SsExamTestRecord;
import net.huashitong.ssydt.exam.entity.vo.TestRecordsListInVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface SsExamTestRecordMapper {

    int deleteByPrimaryKey(Long id);

    int insert(SsExamTestRecord record);

    int insertSelective(SsExamTestRecord record);

    SsExamTestRecord selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(SsExamTestRecord record);

    int updateByPrimaryKey(SsExamTestRecord record);

    /**
     * 根据 阶段，进度id,练习状态 获取对象
     *
     * @param ssExamTestRecord
     * @return
     */
    SsExamTestRecord getByStageAndScheduleIdAndState(SsExamTestRecord ssExamTestRecord);

    /**
     * 根据testScheduleId筛选，并且id倒叙查列表
     *
     * @param testRecordsListInVO
     * @return
     */
    List<SsExamTestRecord> queryByTestScheduleId(TestRecordsListInVO testRecordsListInVO);

    /**
     * 统计已交卷数
     *
     * @return
     */
    int countSubmittedAll();

    /**
     * 统计已交卷 小于等于 correctNumber 数
     *
     * @param correctNumber
     * @return
     */
    int countSubmittedByLessOrEqualsCorrectNumber(Integer correctNumber);
}